Touch screen finger tracing device

ABSTRACT

A portable electronic device includes a touch display configured to sense contact with a finger or stylus, a speaker, and a processing system that communicates with the touch display and the speaker. The device is configured to display a symbol using a set of trace indicator line segments comprising a trace direction indicator and a trace termination indicator and to highlight a region of a first of the trace indicator line segments. The device is configured to detect user touch input at multiple locations on the touch display and determine whether the first trace indicator line segment has been traced from the highlighted region to the termination indicator in a direction corresponding to the trace direction indicator, and in response, to draw and maintain a color line corresponding to the detected user touch input at the multiple locations.

INCORPORATION BY REFERENCE TO ANY PRIORITY APPLICATIONS

Any and all applications for which a foreign or domestic priority claimis identified in the Application Data Sheet as filed with the presentapplication are hereby incorporated by reference in their entirety under37 CFR 1.57.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The presented invention relates in general to a touch device, and moreparticularly to a method for detecting and tracking finger and othergestures using a touch device.

2. Description of the Related Art

Touch devices, such as tablets and touchscreen laptops, are becomingincreasingly prevalent. However, certain applications have not takenadequate advantage of such touch technology.

SUMMARY

The following presents a simplified summary of one or more aspects inorder to provide a basic understanding of such aspects. This summary isnot an extensive overview of all contemplated aspects, and is intendedto neither identify key or critical elements of all aspects nordelineate the scope of any or all aspects. Its sole purpose is topresent some concepts of one or more aspects in a simplified form as aprelude to the more detailed description that is presented later.

An aspect of this disclosure relates to example touch devices andmethods for detecting and tracking finger and other gestures using atouch device.

An aspect of this disclosure relates to a portable electronic devicehaving a touch user interface, the portable electronic devicecomprising: a touch display configured to sense contact with a finger orstylus and to display visual content; a speaker; a processing systemcomprising at least one computing device, the processing systemconfigured to communicate with the touch display and the speaker; andnon-transitory memory that stores instructions that when executed by theprocessing system cause the portable electronic device to performoperations comprising: display a first iteration of a first symbol,wherein the first iteration of the first symbol is displayed withouttrace indicator line segments; generate a sound corresponding to thefirst symbol using the speaker; display a second iteration of the firstsymbol using a set of trace indicator line segments comprising a tracedirection indicator and a trace termination indicator; highlight an endregion of a first of the trace indicator line segments; detect usertouch input at a plurality of locations on the touch display; based atleast in part on the detected user touch input at the plurality oflocations, determine whether the user has traced the first traceindicator line segment from the highlighted end region to thetermination indicator in a direction corresponding to the tracedirection indicator; draw and maintain a color line corresponding to thedetected user touch input at the plurality of locations at least partlyin response to a determination that the user has traced the first traceindicator line segment from the highlighted end region to thetermination indicator in a direction corresponding to the tracedirection indicator.

An aspect of this disclosure relates to method for processing touchinputs received via a touch device, the method comprising: displayingvia a touch display of the touch device a first iteration of a firstsymbol, wherein the first iteration of the first symbol is displayedwithout trace indicator line segments; generating a sound correspondingto the first symbol; displaying via the touch display of the touchdevice a second iteration of the first symbol using a set of traceindicator line segments comprising a trace direction indicator and atrace termination indicator; highlighting via the touch display of thetouch device a first region of a first of the trace indicator linesegments; detecting user touch input at a plurality of locations on thetouch display; based at least in part on the detected user touch inputat the plurality of locations, determining whether the user has tracedthe first trace indicator line segment from the highlighted end regionto the termination indicator in a direction corresponding to the tracedirection indicator; drawing and maintaining a color line correspondingto the detected user touch input at the plurality of locations at leastpartly in response to a determination that the user has traced the firsttrace indicator line segment from the highlighted first region to thetermination indicator in a direction corresponding to the tracedirection indicator.

An aspect of this disclosure relates to method for processing touchinputs received via a touch device, the method comprising: displayingvia a touch display of the touch device a first iteration of a firstsymbol, wherein the first iteration of the first symbol is displayedwithout trace indicator line segments; generating a sound correspondingto the first symbol; displaying via the touch display of the touchdevice a second iteration of the first symbol using a set of traceindicator line segments comprising a trace direction indicator and atrace termination indicator; highlighting via the touch display of thetouch device a first region of a first of the trace indicator linesegments; detecting user touch input at a plurality of locations on thetouch display; based at least in part on the detected user touch inputat the plurality of locations, determining whether the user has tracedthe first trace indicator line segment from the highlighted end regionto the termination indicator in a direction corresponding to the tracedirection indicator; providing a confirmation indicator indicating thatthe user has traced the first trace indicator line segment from thehighlighted first region to the termination indicator in a directioncorresponding to the trace direction indicator.

An aspect of this disclosure relates to a method for processing touchinputs received via a touch device, the method comprising: displayingvia a touch display of the touch device a first iteration of a firstsymbol using a set of trace indicator line segments comprising a tracedirection indicator and a trace termination indicator; highlighting viathe touch display of the touch device a first region of a first of thetrace indicator line segments; detecting user touch input at a pluralityof locations on the touch display; based at least in part on thedetected user touch input at the plurality of locations, determiningwhether the user has traced the first trace indicator line segment fromthe highlighted region to the termination indicator in a directioncorresponding to the trace direction indicator; providing a confirmationindicator indicating that the user has traced the first trace indicatorline segment from the highlighted first region to the terminationindicator in a direction corresponding to the trace direction indicator.

An aspect of this disclosure relates to a non-transitory memory thatstores instructions that when executed by a computing system cause thecomputing to perform operations comprising: display a first iteration ofa first symbol, wherein the first iteration of the first symbol isdisplayed without trace indicator line segments; generate a soundcorresponding to the first symbol; display a second iteration of thefirst symbol using a set of trace indicator line segments comprising atrace direction indicator and a trace termination indicator; highlightan first region of a first of the trace indicator line segments; detectuser touch input at a plurality of locations on the touch display; basedat least in part on the detected user touch input at the plurality oflocations, determine whether the user has traced the first traceindicator line segment from the highlighted first region to thetermination indicator in a direction corresponding to the tracedirection indicator; draw and maintain a color line corresponding to thedetected user touch input at the plurality of locations at least partlyin response to a determination that the user has traced the first traceindicator line segment from the highlighted first region to thetermination indicator in a direction corresponding to the tracedirection indicator.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments will now be described with reference to the drawingssummarized below. These drawings and the associated description areprovided to illustrate example embodiments, and not to limit the scopeof the invention.

FIG. 1 illustrates an example touch device architecture.

FIG. 2A illustrates an example software architecture.

FIGS. 2B-2C illustrate an example of a user interacting with a touchdevice.

FIGS. 3A-3H illustrate example user interfaces corresponding to a firstexample process.

FIGS. 4A-4P illustrate example user interfaces corresponding to a secondexample process.

FIGS. 5A-5G illustrate example processes.

DETAILED DESCRIPTION

Described herein, among other features, example touch devices andmethods for detecting and tracking finger and other gestures using atouch device.

An example touch device architecture may be configured to receive andinterpret user input via a touch sensitive input device (e.g., atouchscreen). For example, the user input may be via a single digit(e.g., a single finger), or via multi-touch, where two or more fingersare used at the same time to provide input via the touch sensitive(e.g., via a multi-finger gesture, such as pinch and zoom).Correspondingly, the touch device may be configured to detect one ormore points of contact via the touch sensitive surface, and determinethe location (e.g., X, Y coordinates, grid number, etc.) of such pointsof contact. The touch device, and associated software, may be used for avariety of different applications, such as computer aided design (e.g.,to enable a user to draw architectural diagrams, network layouts,circuits, etc.), education, and electronic music instruments.

The touch device may be configured with a stylus and may be configuredto receive input from a user via the stylus in addition to or instead ofa finger. It is understood that while the description herein may referto an input provided via a finger, optionally the input may also beprovided via a stylus. The touch device may optionally include a softkeyboard displayed via the touchscreen and/or a physical keyboard. Thetouch device may be a portable tablet computer, a smart phone, atouchscreen laptop, a touchscreen desktop computer or othertouch-enabled device. By way of example, the touch device may have adisplay (e.g., an LCD display, an OLED display, a liquid paper display,or other display) having a diagonal dimension between 4-17 inches, 6-13inches, or 7.9-12.1 inches. By way of further example, the touch devicedisplay may have about a 16:9 aspect ratio, a 4:3 aspect ratio or otheraspect ratio. The touch device may optionally be sized to be easily heldby a child between the ages of 4-7. For example, the touch device mayoptionally be 6-8 inches in height, 4-6 inches in width, and 0.2-0.5inches thick, although other dimensions and configurations may be used.For example, the touch device may optionally be 8-12 inches in height,6-9 inches in width, and 0.2-0.5 inches thick.

As noted above, the touch device be configured with a touch sensitivedisplay and may be configured to render digital files and data via thedisplay. The touch device may be configured to render images in color.The touch device may be configured with an audio decoder and speakers toreproduce digital audio data. The touch device may be configured with amicrophone, audio encoder, and speech recognition system. The touchdevice may be configured with a haptic output mechanism that simulatesthe sense of touch by applying forces, vibrations, or motions to theuser (e.g., to the user finger or via a stylus).

The touch sensitive screen may be configured to detect touch and/orpressure via one or more techniques. For example, the touch device maybe configured with a capacitive touch sensitive screen, a resistivetouch sensitive screen, an optical touch sensitive screen, or otherwise.Optionally, the touch sensitive screen may be configured to detect asize of a contact area of a finger with the touchscreen (e.g., todetermine how much pressure is being applied to the touchscreen per agiven area).

The touch device may be configured to determine if a finger or stylushas contacted the touchscreen, if the contact has moved, the direction,speed, acceleration, and/or magnitude of the movement, and detect whenthe contact has been removed (e.g., the user has removed their finger orstylus from the touchscreen). The touch device may be configured todetermine if a finger or stylus has contacted the touchscreen where acontrol is displayed and infer that the user is attempting to activatethe control. Similarly, the touch device may be configured to determineif a finger or stylus has contacted the touchscreen where an object isbeing displayed using a finger, and that the user is moving the fingerto a new location without breaking contact with the touchscreen. Thetouch device may infer the user intends to drag the object to the newlocation and may cause the object to appear to be dragged across thedisplay. By way of further example, a given displayed object may beassociated with a sound, and the touch device may play the associatedsound in response to an action (e.g., the user touching the object, inresponse to a program instruction, etc.).

The touch device may be configured to determine or infer when a user isinadvertently touching the screen (e.g., with a palm or stomach) andreject such touch as a valid input (e.g., not respond to the inadvertenttouch). For example, the touch device may analyze spatiotemporalfeatures by examining touch properties and movement over a short timewindow to identify a touch as being an inadvertent touch, and maytherefore inhibit a response by the touch device to the inadvertenttouch.

Optionally, the touch device may be configured with various sensors,such as accelerometers, gyrometers, temperature sensors, cameras (e.g.,a front facing camera, a back facing camera, stereo cameras, etc.),fingerprint detectors, etc. Such sensors may enable the touch device todetect movement, speed of movement, device orientation, fingerprints,and/or other inputs or environmental conditions.

In the example illustrated in FIG. 1, a touch device 100 includesvarious user input/output devices, such as a touchscreen/display 102, amicrophone 104, a camera 106, physical controls 108 (e.g., a poweron/off control, a volume control, a home control, etc.), a speaker 110,and/or other user input/output devices. The touch device 100 mayoptionally include a haptic engine 111 that provides kinestheticcommunication to the user (e.g., via vibrations or taps), anaccelerometer 112 that measures acceleration in 1-3 directions, and agyrometer (e.g., a 3-axis gyroscope) 114 that measures orientation inthree axis.

The touch device 100 may be equipped with an external or integralphysical keyboard, trackpad, joystick, electronic pen, and/or otherinput device.

The touch device 100 may include one or more wireless and/or wiredinterfaces. For example, the touch device 100 may include a WiFiinterface 116, a Bluetooth interface 118, a cellular interface 120, anNFC (near field communication) interface 122, and/or one or morephysical connectors 124 (e.g., a USB connector, a LIGHTING connector,and/or other connector). The touch device 100 further comprises aprocessor device (e.g., a microprocessor) 130, volatile memory (e.g.,RAM solid state memory) and non-volatile memory (e.g., FLASH memory),and a power management device 134.

FIG. 2A illustrates an example software architecture for the touchdevice 100. The software architecture may include an operating system250 (e.g., GOOGLE ANDROID, APPLE iOS, MICROSOFT WINDOWS, APPLE OS, UNIX,LINUX, etc.), drivers 240 (e.g., display, touch sensor, speaker,microphone, memory, accelerometer, WiFi, Bluetooth, NFC, etc.),libraries 230 (e.g., SSL, Webkit, SQL, etc.), an application framework220, and applications 202. For example, the applications 202 may includea finger tracing application 204, a matching application 206, asoundboard application 208, a camera application 210, a browserapplication 212, a printer application 214 and/or other applications. Agiven application may utilize another application as part of itsoperation. For example, the sound board application 208 may call thefinger tracing application 204, the matching application 206, and theprinter application 214. Two or more of the applications may beintegrated into a single application.

The finger tracing application 204 may be configured to receive touchinput via the touchscreen 102. FIG. 2B illustrates an example of a userinteracting with the touchscreen 102 by dragging a finger across thetouchscreen 102. The finger tracing application 204 may be configured todetermine a movement vector for a moving finger indicating the amount ofmovement, speed and/or the direction/angle of movement. The direction ofmovement may be defined using a polar coordinate system in which givenpoint on a plane is determined by a distance from a reference point andan angle from a reference direction. Optionally in addition or instead,the direction of movement may be defined using a Cartesian coordinatesystem that uniquely specifies a given point in a plane by a pair ofnumerical coordinates (e.g., X, Y coordinates), which may be the signeddistances to the point from two fixed perpendicular directed lines(e.g., X, Y lines) that meet at an origin (e.g., 0,0), measured in thesame unit of length.

The finger tracing application 204 may be configured to sense if theuser is pushing a touch beyond a specified threshold and/or an amount ofpressure (e.g., lbs/inch of pressure) or level of a touch (e.g., a softtouch, a medium touch, and/or a hard touch). For example, strain gaugesmay be provided integral to or attached to the touchscreen 102 thatmeasure pressure.

The finger tracing application 204 may be configured to determine thecurrent and/or past location of a finger touch relative to an objectdisplayed on the touchscreen, and may project, based on a fingermovement vector, a future position of the finger. For example, thefinger tracing application 204 can detect when the user is touching acontrol displayed via the touchscreen. By way of illustration, thecontrol may be a color selection control, a paint brush control (wherethere may be multiple brushes of different widths to select from), a pencontrol (where there may be multiple pens of different widths to selectfrom), a sound generation control, or other control. In addition, thefinger tracing application 204 may detect when the user is moving afinger within (and/or outside of) a stenciled symbol (e.g., an outlineof a letter, number, or other written symbols or graphemes orcombinations thereof).

The tracing application 204, may detect and record a user selection of acolor and/or brush. The tracing application 204 may then detect themovement of the user finger across the touchscreen or a selected area ofthe touchscreen (e.g., a drawing area that may optionally include asymbol outline), and may fill-in the portions of the touchscreen touchedby the user with the selected color, optionally using a drawing tool(e.g., a brush or pen) and drawing tool width selected by the user.

Optionally, the tracing application 204 may detect if the user isdrawing outside a specified area (e.g., outside of a symbol) or morethan a certain threshold distance outside the specified area and mayprovide an indication to the user of a failure to draw within thespecified area. For example, the indication may be an audible sound(e.g., a phrase (e.g., “draw within the letter”), a beep, etc.), avisual indicator (e.g., a phrase (e.g., “draw within the letter”), anicon, haptic feedback (e.g., a vibration)), and/or a by inhibiting thedisplay of any color the user is attempting to apply outside thespecified area. The use of such thresholding may be utilized to overcomethe technical challenge of resolving ambiguous user inputs.

The tracing application 204 may also enable a user to drag puzzle piecesdisplayed via the touchscreen to a specified area to form an objectcomposed of the puzzle pieces. By way of example, the specified area maybe an outline of a letter (e.g., the letter “a”), and the puzzle piecesmay include an apple piece and a leaves piece (e.g., attached to anapple stem). The tracing application 204 may instruct or may indicatethat the user is to drag the apple piece and the leaves piece to the “a”area so as to form a shape that corresponds to the letter “a”.

The tracing application 204 may also cause the touch device 100 toenunciate, via one or more speakers, sounds, phonemes, letters, and/orwords which correspond to a letter or set of letters being displayed bythe tracing application 204.

Example user interfaces will now be described. It is understood thefewer, additional, or different user interfaces may be utilized, andthat various subsets of the example user interfaces may be utilized by agiven process. FIGS. 3A-3H illustrate example optional user interfacesthat may be used in conjunction with the tracing application 204 and/orother applications. In the illustrated example, the tracing applicationis being used in conjunction with an application configured todemonstrate how to decode a language by breaking the language down intocomponents (e.g., its smallest components, such as letters andphonemes). Interactive user interfaces are provided that use imagesand/or motion, and that are configured to receive and respond to usertouch. Audible information may be provided using the touch devicespeaker(s), where the audio information may include sounds correspondingto a phoneme, a letter, a letter name, and/or phrases or sentences thatdemonstrate the use of a word that includes the letter. Tunes, songs, orphrases may be generated by the tracing application via the touch deviceand played during transitions from one user interface to another. At thetop of some or all of the user interfaces a help control (e.g., “?”) mayoptionally be provided, which when touched by the user causes theapplication to visually display the tasks the user is expected toaccomplish with respect to the corresponding user interface.

Thus, the various example optional interfaces may demonstrate to usersand drill users with respect to phonemes, language and symbols (e.g.,letters) by providing mnemonics corresponding to symbols as well asmnemonics and puzzles to demonstrate and drill handwriting/tracing. Theuser interfaces, including audio generation, may demonstrate and drillsome or all basic sounds for a given language (e.g., 46 sounds forAmerican English, where a given sound may optionally be associated witha sound file stored on the touch device), and all the letters (e.g., inupper and lower case form) in the corresponding alphabet (e.g.,optionally combinations of letters). For example, in English there are26 letters (A-Z), and there may be an additional 20 sounds which may berepresented by multiple letters (e.g., ng, ch, sh, th, th, oo, ou, oi,aw, ee, ie, oe, ue, a_e, er, ar, or, air, le, s). As discussed below,keyboards may be provided that further facilitate user recognition of agiven symbol and a corresponding sound. Optionally, mnemonics may beprovided for some or all spelling patterns in a given language (e.g.,English), including those not represented by single letters. Forexample, the mnemonic “coin” may be used for the spelling “oi”, or themnemonic “bread” may be used for the spelling “ea” (which spells thesound “eh”), etc.

For example, a user may be instructed to draw the letter “a” so as tolook like an apple. By way of further example, the user may beinstructed to assemble puzzle pieces corresponding to an apple, and mayinstruct the user to drag the letter “a” so as to be superimposed overthe apple. The touch device may track the user's movements (e.g.,tracing of letters or moving of puzzle pieces) with respect to the touchscreen to ensure that the user is correctly performing a correspondingtask. The touch device may inhibit a user from moving to a next trainingstate until a current task is successfully completed.

A menu may be provided enabling a user to select different levels ofinteraction complexity (e.g., different training processes of differentdifficulty). Optionally, the tracing application 204 may provide aninterface via which a code is to be entered to access a given level.Optionally, a fingerprint sensor is utilized to identify the user usingthe user's fingerprint, and based at least in part on the useridentification, the user is enabled to access a set of levels that theuser has been previously authorized to access.

With reference to FIG. 3A, an electronic card bank is displayed, whereina given letter corresponds to a letter of the alphabet of the language.The size of the card bank may be customized for a given user.Optionally, the number of letters/sounds included in the card bank maybe dynamically adjusted based at least in part on the user successfullycompleting certain training processes. For example, initially a firstset including only a limited number of letters may be included in thecard bank (e.g., “A”, “B”, “C”, “D”). After the user has completed thefirst set of letters, a second set of letters may be automatically addedto the card bank (e.g., “E”, “F”, “G”, “H”). Optionally, all theletters/sounds may be available in the card bank.

The user can select a given letter/sound (where a sound may berepresented by more than one letter) from the card bank. Referring toFIG. 3B, optionally a pop-up window is generated and displayed. In thisexample, the pop-up window includes the selected letter (e.g., alowercase “a”) surrounded by a border (e.g., a broken circular bordercomposed of dashes) and a mnemonic, such as a graphic or photograph ofan item that has a shape similar to that of the selected letter (e.g.,an apple), and that is likewise surrounded by a border. A graphic (e.g.,an arrow), animation, text, and/or voice instruction is providedindicating that the user is to drag the letter over the item (e.g., withthe border of the letter overlaying the border of the item). In responseto detecting that the user has successfully touched the letter anddragged it with a finger over the item, a subsequent user interface, anexample of which is illustrated in FIG. 3C, is automatically presentedor is presented in response to the user selected a “next” control (e.g.,an arrow). For example, the user may need to drag the letter so that theborder of the letter and the border of the item overlap within aspecified threshold distance (or that centers are within a specifiedthreshold distance and/or the orientation of the letter isproper/vertical) in order for the touch device to determine that theuser has successfully dragged the letter over the item.

By way of illustration, as depicted in FIG. 2C, the application detectsif the user has positioned via touch the letter “O” so that thedisplacement of the center of the letter is less than a thresholddistance from the center of the olive, in order for the touch device todetermine that the user has successfully dragged the letter over theitem. Otherwise, the touch device may determine that the user has notyet successfully dragged the letter over the item.

The example user interface illustrated in FIG. 3C reproduces theselected letter, optionally using a larger font than used in the userinterface illustrated in FIG. 3B. In addition, a voice reproduction orsynthesis system included in the touch device generates a soundcorresponding to the letter (e.g., “ahh”), a name of the item (e.g.,apple), and/or a phrase that combines the sound with the name of theitem (e.g., “ahh as in apple”). In response to the user activating a“next” control or automatically, the example user interface illustratedin FIG. 3D1 may be presented. In this example, a “play” control isprovided. In response to detecting that the user has activated the“play” control, the touch device may play an animation or video. Thegraphic (or video) may dynamically illustrate a task that the user is toperform and/or may act as a memory aid. In this example and withreference to FIG. 3D2, puzzle pieces corresponding to the itemillustrated in FIG. 3B are presented (e.g., a puzzle piece correspondingbody of an apple and a puzzle piece corresponding to apple leaves) inaddition to an outline of the item (e.g., a broken outline formed ofdashes) and the selected letter. The animation depicts dragging thepuzzle pieces to the shape outline. The letter is then automaticallydragged over the assembled puzzle pieces (which have a shape similar tothe letter), as illustrated in FIG. 3D3.

In response to the user activating a “next” control or automatically,the example user interface illustrated in FIG. 3E may be presented. Theexample user interface illustrates the letter and the item whilechanging the size of each to further emphasize the letter and the item.The touch device may play a song that includes the sound of the letterand the name of the item (“the apple sound says “aah, aah, aah”), andmoves that letter and item towards each other until the letter overlaysthe item. Optionally, an image of the letter and the item may bepresented in an animated fashion (e.g., displayed using graphics ofcards), so that the letter and the item move across the user interfaceto (e.g., fly to) a control (sometimes referred to herein as a pocketchart access control) that can be later selected by the user. When theuser selects the pocket chart access control, the letters/sounds thatthe user has mastered may be presented. The pocket chart access controlitself may be animated when the letter and the item move to the pocketchart access control. For example, the pocket chart access control mayoptionally bounce up and down to provide positive feedback that the usersuccessfully performed a task and/or to indicate the presence of thepocket chart access control to the user. The pocket chart will bediscussed in greater detail elsewhere herein. The pocket chart accesscontrol may be presented in other user interfaces discussed herein andthe user may access the pocket chart when viewing such other userinterfaces by selecting (e.g., touching) the pocket chart accesscontrol. In response to the user activating a “next” control orautomatically, the example user interface illustrated in FIG. 3F may bepresented.

The example user interface in FIG. 3F illustrates an outline of the item(e.g., an apple), different color digital “paints” in graphic buckets,an eraser, a sound control (e.g., in the form of a speaker graphic), anda drawing area. The user interface enables the user to select a digitalpaint color by touching the corresponding paint, then paint the itemwithin (and optionally outside of) the outline, within the drawing area,using the selected paint. For example, the user can select red and paintthe body of the apple using red, and can then select green and paint theleaf portion of the apple using green. The user interface enables theuser to touch the eraser image, and in response to detecting that theuser has selected the eraser image and then detecting that the user istouching within the drawing area, erase color previously painted by theuser. In response to detecting that the user has selected the soundcontrol, the touch device may reproduce the sound of the letter (e.g.,“aah”).

In response to the user activating a “next” control or automatically,the example user interface illustrated in FIG. 3G may be presented. Theexample user interface in FIG. 3G illustrates an outline of the letter(e.g., “a”), different color digital “paints”, an eraser, a soundcontrol (e.g., a speaker icon), and a drawing area. The user interfaceenables the user to select a paint color by touching the correspondingpaint, then paint the item within (and optionally outside of) the letteroutline, within the drawing area, using the selected paint. The userinterface enables the user to touch the eraser image, and in response todetecting that the user has selected the eraser image and then detectingthat the user is touching the user's finger within the drawing area,erase color previously painted by the user. In response to detectingthat the user has selected the sound control, the touch device mayreproduce the sound of the letter (e.g., “aah”). Optionally, aninterface is provided via which an administrator may share theelectronic drawing (e.g., via email, an application, a website, an MMSmessage or otherwise) with one or more destinations (e.g., a parent).

In response to the user activating a “next” control or automatically,the example user interface illustrated in FIG. 3H may be presented. Theexample user interface in FIG. 3H illustrates different color digital“paints”, an eraser, a sound control (e.g., a speaker icon), and adrawing area. Optionally, the drawing area is empty in that it does notinclude an image of the letter or the item. Instead, the user may freedraw either the letter or the item. The user interface enables the userto select a paint color by touching the corresponding paint, then paint(e.g., the letter and/or the item) within the drawing area, using theselected paint. The user interface enables the user to touch the eraserimage, and in response to detecting that the user has selected theeraser image and then detecting that the user is touching within thedrawing area, erase color previously painted by the user. In response todetecting that the user has selected the sound control (e.g., a speakericon), the touch device may reproduce the sound of the letter (e.g.,“aah”).

Optionally, there may be multiple levels, having different levels ofdifficulty and advancement, with respect to demonstrating how to decodea language by breaking the language down into components. Optionally,the tracing application may require an administrator or other authorizeduser to enter a code in order to enable another user to access a higherlevel of difficulty with respect to demonstrating how to decode alanguage by breaking the language down into components. Optionally, afingerprint sensor may be used to identify the user, and based on thatidentification, determine what levels the user is authorized to access.

The following example user interfaces correspond to such a higher levelof difficulty with respect to demonstrating how to decode a language bybreaking the language down into components. As noted above, subsets ofthe following user interfaces may be combined with subsets of thepreviously described user interfaces. FIG. 4A illustrates an exampleuser interface that enables a user to select from different levels ofdifficult (e.g., Level 1, Level 2, Level 3, Level 4, etc.). Once theuser interface selects a level, an electronic card bank is displayedthat may include a number of letters/sounds (where a given sound may berepresented by more than one letter), wherein a given letter correspondsto a letter of the alphabet of the language and a given sound maycorrespond to a basic sound or phoneme of the language, as similarlydescribed above. The user interface illustrated in FIG. 4B is similar tothat illustrated in FIG. 3B. Referring to FIG. 4B, a pop-up window isgenerated and displayed. In this example, the pop-up window includes theselected letter (e.g., an uppercase “A”) surrounded by a border (e.g., abroken circular border composed of dashes) and a graphic or photographof an item that has a shape similar to that of the selected letter(e.g., an alligator head), and that is likewise surrounded by a border.A graphic (e.g., and arrow), text, animation, video, and/or voiceinstruction is provided indicating that the user is to drag the letterover the item (e.g., with the border of the letter overlaying the borderof the item).

In response to detecting that the user has successfully touched theletter and dragged it with a finger over the item (e.g., as similarlydiscussed above), a confirmation sound may be generated (and/oroptionally haptic feedback may be provided) and a subsequent userinterface, an example of which is illustrated in FIG. 4C, isautomatically presented or is presented in response to the user selecteda “next” control (e.g., an arrow). For example, the user may need todrag the letter so that the border of the letter and the border of theitem overlap within a specified threshold distance in order for thetouch device to determine that the user has successfully dragged theletter over the item.

The user interface illustrated in FIG. 4C reproduces the selectedletter, optionally using a larger font than used in the user interfaceillustrated in FIG. 4B. In addition, a voice reproduction or synthesissystem included in the touch device generates a sound corresponding tothe letter (e.g., “ahh”), a name of the item (e.g., alligator), and/or aphrase that combines the sound with the name of the item (e.g., “ahh asin alligator”). In response to the user activating a “next” control orautomatically, an example user interface may be presented that includesa “play” control. In response to detecting that the user has activatedthe “play” control, the touch device may play an animation or video. Thegraphic (or video) may dynamically illustrate a task that the user is toperform. For example, the puzzle pieces corresponding to the itemillustrated in FIG. 4B may be presented (e.g., a puzzle piececorresponding an alligator muzzle, a puzzle piece corresponding thealligator eyes, and a puzzle piece corresponding the alligator teeth) inaddition to an outline of the item (e.g., a broken outline formed ofdashes) and the selected letter.

The user interface illustrated in FIG. 4D1 may be presented. Asillustrated in FIG. 4D1, the puzzle pieces corresponding to the itemillustrated in FIG. 4B may be presented (e.g., a puzzle piececorresponding an alligator muzzle, a puzzle piece corresponding to thealligator eyes, and a puzzle piece corresponding the alligator teeth) inaddition to an outline of the item (e.g., a broken outline formed ofdashes) and the selected letter. The user is to drag and drop thevarious pieces to the appropriate locations within the item outline.Optionally, the puzzle pieces are at a fixed orientation to reduce thecomplexity of the dragging operation. That is, the user does not have torotate puzzle piece to a correct orientation prior to or after draggingthe puzzle piece to the correction location. However, optionally thepuzzle pieces are not at a fixed orientation, and the user needs toorient a given puzzle piece to the correct orientation prior to or afterdragging the puzzle piece to the correction location.

The user may need to drag a given puzzle piece so that the puzzle pieceis within a specified threshold distance of its designated location inorder for the touch device to determine that the user has successfullydragged the puzzle piece to the correct location. If the applicationdetects that the user has dragged the puzzle piece to within thespecified threshold distance of its designated location, then theapplication may snap to the puzzle piece to its proper location (e.g.,so that the puzzle piece is fully within its designated location at thecorrect orientation) and generate an audible confirmation sound (and/oroptionally haptic feedback may be provided). If the application detectsthat the user has not dragged the puzzle piece to within the specifiedthreshold distance of its designated location, then the application mayallow the puzzle piece to remain at the location the user dropped it atwithout providing a confirmation sound and without snapping the puzzlepiece to its proper location.

Optionally, if the user begins dragging a puzzle piece and then releasesthe puzzle piece, the application may cause the puzzle piece to continuemoving along the same trajectory and optionally velocity and/oracceleration the puzzle piece had prior to the release. Optionally, theapplication may cause the velocity and/or acceleration of the puzzlepiece to degrade until the puzzle piece stops. Optionally, depending onthe position, trajectory, and velocity and/or acceleration of the puzzlepiece prior to release, the application may cause the puzzle piece tobounce off one or more of the user interface walls until the velocitydecays to that the movement of the puzzle piece stops. In response todetermining that the user has correctly assembled the puzzle at thecorrect location, the letter may then be displayed by the userinterface, wherein the letter has a size and shape as the assembledpuzzle. The user is to drag the letter over the assembled puzzle asillustrated in FIG. 4D2. In response to detecting that the user hasdragged the letter over the assembled puzzle, the “next” control (e.g.,an arrow), may be activated and displayed.

In response to the user activating a “next” control or automatically,the example user interface illustrated in FIG. 4E may be presented. Theexample user interface illustrates the letter and the item. The touchdevice plays a song that includes the sound of the letter and the nameof the item (“the alligator sound says “aah, aah, aah”), and moves thatletter and item towards each other until the letter overlays the item.In response to the user activating a “next” control or automatically,the example user interface illustrated in FIG. 4F may be presented.

The example user interfaces illustrated in FIG. 4F-4I, are configured toinstruct and train the user in how to draw the symbol letter. Each userinterface may be progressively more challenging than the previous userinterface to further reinforce the letter writing process. For example,in the example user interface illustrated in FIG. 4F, the outline of theletter may be presented overlaying the item (e.g., the alligator head),where the item may act as a mnemonic. Arrows (which may be straightand/or curved lines) may be presented within respective segments (whichmay be straight and/or curved line segments) of the letter, where theuser is to trace the respective segments in the arrow directions to aspecific extent, in a specific order so as to draw the letter. The firstarrow to be traced may be emphasized relative to the other arrows.

For example, the first arrow to be traced may be colored (e.g., coloredwhite), while the other arrows may be translucent so that the itembeneath may be viewed. In addition, the base portion of first arrow maybe highlighted (e.g., via a blinking dot, via a solid color, orotherwise), wherein the user is to trace the arrow whose base ishighlighted from the base to the arrowhead.

The application detects if the user has correctly drawn/traced the firstline segment (e.g., by touching a base portion of the arrow with afinger and dragging the finger to an arrowhead portion of the arrow).For example, the user input may be converted to a vector with a startand end point (or a start point, direction, and length). The applicationmay compare the vector and start point to a reference vector, and if theapplication determines certain vector characteristics (e.g., magnitudeand/or direction) are within the corresponding threshold of thereference vector characteristics, the application may determine that theuser correctly traced the first line segment. If the applicationdetermines that one or more of the vector characteristics are outside athreshold of the corresponding reference vector characteristic, theapplication may determine that the user incorrectly traced the firstline segment. Thus, the use of vectors and thresholds may be used todetermine whether an ambiguous user entry corresponds to a correctlyperformed task.

The application may fill in the corresponding portion of the letteroutline (e.g., using a colored line that appears it was drawn using amarker or crayon, where the line may be irregular as if it where handdrawn) as the user drags the user's finger to provide feedbackindicating the user is correctly performing the task. If the applicationdetects that the user has not fully traced the arrow in the correctdirection, the application may cause the portion that was colored whilethe user was finger dragging to revert back to its previous color.

In response to detecting that the user has correctly dragged the user'sfinger over the full extent of the arrow in the correct direction, theapplication may highlight (e.g., by coloring using a different color andwidth than was used during the finger dragging task) another arrowwithin a different segment of the letter. In addition, the base portionof the different arrow may be highlighted (e.g., via a blinking dot, viaa solid color, or otherwise), wherein the user is to trace the arrowwhose base is highlighted from the base to the arrowhead. The foregoingprocess repeats for each letter segment until the application determinesthat the user has correctly drawn the letter with the user's finger (orstylus), and a completion indicator may be provided. For example, aseries of white circles may be presented, with one circle for eachletter drawing user interface (e.g., four indicators in this example).

If the user attempts to draw a segment in the wrong order and/or thewrong direction, optionally the application will not fill in thesegment.

Once the application determines that user has successfully drawn theletter via the user interface illustrated in FIG. 4F, the user interfaceillustrated in FIG. 4G may be presented. The process described abovewith respect to FIG. 4F may be repeated, except that while the outlineof the letter is presented with arrows in respective letter linesegments, the item (e.g., the alligator head), may not be displayed, andall the non-emphasized arrows for the respective letter segments may begreyed out. The application may cause the base portion of a given arrowthat is to be traced to be highlighted (e.g., via a blinking dot, via asolid color, or otherwise). Again, if the user attempts to draw asegment in the wrong order and/or the wrong direction, optionally theapplication will not fill in the segment.

Once the application determines that user has successfully drawn theletter via the user interface illustrated in FIG. 4G, a user interfacemay be presented that includes the arrows but not the outline of theletter. As similarly discussed above, the application may cause the baseportion of a given arrow that is to be traced to be highlighted (e.g.,via a blinking dot, via a solid color, or otherwise). Again, if the userattempts to trace an arrow in the wrong order and/or the wrongdirection, optionally the application will not fill in the arrow.

Once the user sufficiently draws the letter via the user interfacediscussed above, the user interface illustrated in FIG. 4H may bepresented. In this example, the letter outline is presented, but thearrows are not presented. Thus, the letter shape appears as it wouldtypically when used in written material. Start point indicators may beprovided corresponding to the base of the arrows presented in FIG. 4F.The start point indicator of the line segment that the user is to tracenext may be emphasized (e.g., via a blinking dot) indicating thebeginning point of a line segment to be drawn by the user. Once the usersuccessfully draws the line segment, the next start point indicator ishighlighted. Again, if the user attempts to draw a segment in the wrongorder and/or the wrong direction, optionally the application will notfill in the segment. Optionally, an interface is provided via which anadministrator may share final letter as drawn by the user (e.g., viaemail, an application, a website, an MMS message or otherwise) with oneor more destinations (e.g., a parent).

Once the user has successfully drawn the letter via the user interfaceillustrated in FIG. 4H, the user interface in FIG. 4I is presented. Theuser interface of FIG. 4I presents the letter in both lowercase (e.g.,“a”) and uppercase (e.g., “A”). Beneath each is a geometric shape (e.g.,a circle), and beneath each circle is an image of an item correspondingto either the lower or uppercase letter (an apple and an alligator head)in respective circles (or other geometric shapes). However, the itemsmay optionally be switched, so that the item corresponding to thelowercase letter (e.g., the apple) is located below the uppercaseletter, and so that the item corresponding to the uppercase letter(e.g., the alligator) is located below the lowercase letter. The user isto drag each item into the circle beneath the corresponding version ofthe letter. Once the application detects that the user has sufficientlydragged the items into the respective circles (optionally with thecorrect orientation/rotation), the application may snap the items sothat they are centered within the corresponding circles, a confirmationsound may be generated (and/or optionally haptic feedback may beprovided), and the “next” control may be presented/enabled.

In response to the user activating the next control or automatically,the example user interface illustrated in FIG. 4J may be presented andthe letter sound (“aah”) may be generated. The user interface includes akeyboard, a sound generation control (which when touched causes theletter sound to be generated), and a letter field. The keyboard letterkeys may be blank, except for that of the letter being taught (e.g.,“a”) and one other letter (or other number of other letters). When thekeyboard is displayed, the sound corresponding to the letter beingtaught may automatically be played (e.g., “aah”). The user is to select,via touch, a keyboard key corresponding to the letter. In response tothe user touching a letter key, the corresponding letter may bedisplayed in the letter field. If the user correctly touches the letterkey of the letter being taught, the letter is displayed in the letterfield and the application provides a visual confirmation feedbackindicator (e.g., a checkmark) and/or an audible confirmation indicator(and/or optionally haptic feedback may be provided). In addition, anelectronic card may be displayed that includes the letter. If the usertouches an incorrect letter key, the letter is optionally displayed inthe letter field in a greyed out fashion (or other indicator may beprovided indicating the incorrect key selection), and instead of avisual confirmation feedback indicator (e.g., a checkmark) and/or anaudible confirmation indicator being provided, a visual failure feedbackindicator (e.g., an “X”) and/or audible failure indicator (and/oroptionally haptic feedback) may be provided.

If the user correctly selected the correct letter via the keyboardillustrated in FIG. 4J, then in response to the user activating the nextcontrol or automatically, the example user interface illustrated in FIG.4K may be presented. The user interface illustrated in FIG. 4K displaysthe letter (e.g., “a”), a target field, and a plurality of soundcontrols (e.g., speaker icons of different colors). In response to theuser selected a given sound control, touch device generates a sound. Theuser is to drag the sound control corresponding to the letter to thetarget field (e.g., a geometric shape, such as a circle). At leastpartly in response to detecting that the user has dragged the correctedsound control to the target field, the application provides a visualconfirmation feedback indicator (e.g., a checkmark) and/or an audibleconfirmation indicator.

Referring now to FIGS. 4L-4M, example user interfaces are presented viawhich the user is to paint letters corresponding to a given sound in thesame color. For example, the word “duck”, which has four letters, iscomposed of only three sounds, represented by the following spellings:“d”, “u” and “ck”. Therefore, the user is to paint/fill in the letter“d” with a first color, the letter “u” with a second color, and theletter combination “ck” with a third color. These user interfacesfurther reinforce and test the user's knowledge with respect to phonemesand the spellings associated with the phonemes.

Referring to the example user interface illustrated in FIG. 4L, the userinterface includes a word (“duck”) in stencil/outlined form, differentcolor digital “paints” in graphic buckets, and a sound control (e.g., inthe form of a speaker graphic). Upon the detection of the sound control,the word (“duck) and/or phonemes thereof (“d”, “u”, “ck”) may beenunciated. The user interface enables the user to select a paint colorby touching the corresponding paint, then paint/fill-in a given letterusing the selected paint. FIG. 4M illustrates the example user interfaceof FIG. 4L with the letters correctly painted (e.g., the letter “d” ispainted a first color, the letter “u” is painted a second color, and theletters “ck” are painted a third color). The application provides avisual confirmation feedback indicator (e.g., a checkmark or ahighlighted checkmark) and/or an audible confirmation indicator (and/oroptionally haptic feedback may be provided) if the user correctlypainted the letters to indicate the different sounds included in theillustrated word. If the user did not correctly paint the letters toindicate the different sounds included in the illustrated word (e.g.,the user painted the letter “d” a first color, the letter “u” a secondcolor, the letter “c” a third color, and the letter “d” a fourth color),the application may provide a negative feedback indicator (e.g., notdisplaying a checkmark or displaying the checkmark in a greyed ourmanner) and/or an audible fault indicator, and optionally the user maybe prevented from accessing the next task user interface.

If the user did correctly paint the letters to indicate the differentsounds included in the illustrated word a subsequent user interface, anexample of which is illustrated in FIG. 4N, is automatically presentedor is presented in response to the user selected a “next” control (e.g.,an arrow). The user interface includes a keyboard, a sound generationcontrol (which when touched causes the letter sound to be generated),and a word field. When the keyboard is displayed, the word and/or thephonemes that make up the word may automatically be enunciated. The useris to spell the word by touching corresponding keyboard keys. Inresponse to the user touching a letter key, the corresponding letter maybe displayed in the letter field. If the user correctly types in theword being taught, the application provides a visual confirmationfeedback indicator (e.g., a checkmark) and/or an audible confirmationindicator (and/or optionally haptic feedback may be provided). If theuser does not correctly type in the word, the letters typed in by theuser are optionally displayed in the word field in a greyed out fashion(or other failure indicator may be provided), and instead of a visualconfirmation feedback indicator (e.g., a checkmark) and/or an audibleconfirmation indicator being provided, a visual failure feedbackindicator (e.g., an “X”) and/or audible failure indicator (and/oroptionally haptic feedback) may be provided. A navigation control may beprovided that enables the user to navigate to the user interfaceillustrated in FIGS. 4M, 4N so that the user can view the word again.

As discussed elsewhere herein, a pocket chart may be generated thatincludes the letters/sounds mastered by or taught to the user. A graphiccard may be displayed for each letter/sound, which includes the letteror sound spelling, and which further includes a corresponding mnemonicgraphic. The user may select a given letter or sound spelling, andadditional corresponding information will be presented. The pocket chartmay be accessed via a given interface by selecting a pocket chart accesscontrol. FIG. 4O illustrates an example pocket chart. In this example,the user has selected the letter lowercase “a”. The user interfacedisplays the selected letter/spelling, the corresponding mnemonicgraphic (e.g., an apple for “a”), and displays spellings of sounds(e.g., “a”, “A”) that correspond to the selected letter. Optionally, thevarious sounds may be automatically be enunciated in response to theuser selecting the letter or in response to the user activating a soundcontrol (e.g., a speaker icon). Although in this example, the pocketchart may display all 46 sounds, if the user has mastered fewer sounds,then the pocket chart may optionally include only those fewer sounds.

FIG. 4P illustrates another example pocket chart. In this example, theuser has selected the spelling “ee”. The user interface displays theselected sound spelling, the corresponding mnemonic graphic (e.g., a beefor “ee”), and displays spellings of sounds (e.g., “ee”, “e_e”, “i”,“ea”, “e”, “y”, “ey”, “ie”, “ei”, i_e”) that correspond to the selectedspelling. Optionally, the various sounds may be automatically beenunciated in response to the user selecting the letter or in responseto the user activating a sound control (e.g., a speaker icon).

FIGS. 5A-5G illustrates an example process (including several optionalsub-processes) that utilizes finger touch detection and tracking. Assimilarly discussed above, the process may demonstrate how to decode alanguage by breaking the language down into components. The process mayutilize interfaces that employ images and/or motion, and that areconfigured to receive, monitor, and respond to user touch. The processmay provide audible information, such as sounds corresponding to atones, songs, phonemes, letters, words, phrases, and/or sentences.

An initial sub-process of the process may optionally be performed viawhich a user may select a training process level and a related symbol(or combinations of symbols which may correspond to a basic languagesound or phoneme). At block 500, the process displays on a touch devicetouch display a training process difficulty level user interface. Forexample, there may be two, three, four, or more training processes fromwhich to select, where the lowest number training process may be theleast challenging, and the highest number training process may be themost challenging. At block 502, the process receives a training processselection via the touch display. At block 504, the process displayssymbol selection icons on the touch display. The symbols may be letters,such as letters from the English alphabet. At block 506, a user symbolselection is made via the touch display.

A symbol demonstration sub-process may optionally be performed as partof the process. At block 507, the process displays the selected symbol(e.g., the selected letter) and a symbol mnemonic graphic which may havea similar shape as the selected symbol. For example, if the symbol is alower case “a” the symbol mnemonic graphic may be an apple. By way offurther example, if the symbol is an uppercase “A” the symbol mnemonicgraphic may be a top view of an alligator head. Optionally, sound filescorresponding to the symbol are accessed from memory, and theapplication may play back the sound file via the touch device speakerwhile displaying the symbol (optionally in an enlarged font or byotherwise emphasizing the symbol). For example, if the symbol is an “a”,the application may play the following: “ahh”, a name of the symbolmnemonic graphic (e.g., “alligator”), and/or a phrase that combines thesymbol sound with the name of the symbol mnemonic graphic (e.g., “ahh asin alligator”). At block 508, the user is instructed (e.g., via text,graphics, spoken word, or otherwise) to drag the symbol over the symbolmnemonic graphic. The user interaction with the touch display (and thedisplayed symbol) is monitored to determine if the user has touched thesymbol with a finger, and if the user has dragged the symbol with thefinger over the symbol mnemonic graphic (or vice versa).

Once the process determines that the user has dragged the symbol overthe symbol mnemonic graphic (or within a certain threshold of beingdragged over the symbol mnemonic as similarly discussed above withrespect to FIG. 2C and with respect to vector comparison), the processproceeds to block 512, and optionally sound files corresponding to thesymbol are accessed from memory. At block 514, the applicationoptionally plays back the sound file via the touch device speaker whiledisplaying the symbol (optionally in an enlarged font or by otherwiseemphasizing the symbol).

At block 516, the process displays the symbol mnemonic graphic asdisplaced pieces (e.g., as puzzle pieces) and an outline of the symbolmnemonic graphic. For example, if the symbol mnemonic is an alligator,the pieces may include the basic alligator head as a first piece, theleft teeth as a second piece, the right teeth as a third piece, and theeyes as a fourth piece. At block 518, the process monitors the userinteraction with the touch display (and a displayed symbol mnemonicpiece) to determine if the user has touched a displayed symbol mnemonicpiece with a finger, and at block 520 determines whether the user hasdragged the displayed symbol mnemonic piece to the appropriate locationin the displayed symbol mnemonic outline. Once the process determinesthat the user has dragged the displayed symbol mnemonic piece to theappropriate location in the displayed symbol mnemonic outline (e.g., orwithin a threshold), the process may snap the displayed symbol mnemonicpiece to the appropriate location, and the process may proceed to block522. At block 522, the process determines whether there are remainingcomponent pieces of the symbol mnemonic that still need to be placed atthe appropriate location within the symbol mnemonic outline. If thereare remaining component pieces of the symbol mnemonic that still need tobe placed at the appropriate location within the symbol mnemonicoutline, the process proceeds to block 518. Otherwise, the processproceeds to block 522.

At block 522, the symbol is displayed using a relatively larger font andis made draggable via touch. At block 524, the process monitors the userinteraction with the touch display (and the displayed symbol) todetermine if the user has touched the displayed symbol with a finger,and at block 526 determines whether the user has dragged the displayedsymbol over the mnemonic graphic. If the process determines the user hasnot dragged the displayed symbol over the mnemonic graphic, the processproceeds to block 524. If the process that the user has dragged thedisplayed symbol over the mnemonic graphic, the process proceeds toblock 528, and accesses and plays a sound file. The process play thesound file, which may include a digital song that includes the sound ofthe symbol (e.g., the sound of the letter) and the name of the mnemonicgraphic (“the alligator sound says “aah, aah, aah”), and moves thatsymbol and mnemonic graphic towards each other until the symbol overlaysthe mnemonic graphic.

The following sub-process of the process relates to training the userhow to write/draw the symbol by interacting with the touch display usinga finger. At block 530, the process displays the symbol with tracingindicators overlaying the symbol mnemonic graphic. For example, theletter “A” may be formed using arrows as the tracing indicators, and thesymbol mnemonic graphic may be an alligator head, as discussed above. Atblock 532, the process monitors the user interaction with the touchdisplay (and the displayed symbol) to determine if the user has touchedthe displayed symbol at a correct starting point. For example, theprocess may indicate the correct starting point (e.g., the base of thearrow to be traced first) using a blinking dot, other icon, orotherwise. As the process detects the user moving the finger from thecorrect starting point down the arrow, the process may optionally causea corresponding color trail to be rendered. Optionally, if the processdetects the user is moving the finger from an incorrect starting point,the process may inhibit the rendering of such a color trail or may onlydisplay the color trail for a portion (e.g., less than half) of theincorrect tracing indicator being traced.

At block 534, the process determines if the user has traced the correcttracing indicator from the correct starting point, in the correctdirection, to a minimum threshold distance (e.g., to the arrowhead). Ifthe process determines that the user has not traced the correct tracingindicator from the correct starting point, in the correct direction, tothe minimum threshold distance (e.g., to the arrowhead), optionally atblock 537 the color trail is removed from the display to indicate thatthe user has not correctly performed the task.

At block 536, if the process determines that the user has traced thecorrect tracing indicator from the correct starting point, in thecorrect direction, to the minimum threshold distance, the processmaintains the color trail to indicate that the user has correctly tracedthe symbol segment. At block 538, the process determines if there areadditional tracing indicators remaining to be traced, and if so, theprocess returns to block 532. The foregoing states are repeated untilthe user correctly traces the trace indicators to thereby correctlywrite/draw the symbol.

The foregoing symbol drawing sub-process may then repeated. However, thesymbol mnemonic graphic may be omitted to present the symbol in a moreabstract manner. At block 542, the process displays the symbol withtracing indicators without the symbol mnemonic graphic. For example, theletter “A” may be formed using arrows as the tracing indicators. Atblock 544, the process monitors the user interaction with the touchdisplay (and the displayed symbol) to determine if the user has touchedthe displayed symbol at a correct starting point. For example, theprocess may indicate the correct starting point (e.g., the base of thearrow to be traced first) using a blinking dot, other icon, orotherwise. As the process detects the user moving the finger from thecorrect starting point down the arrow, the process may optionally causea corresponding color trail to be rendered. Optionally, if the processdetects the user is moving the finger from an incorrect starting point,the process may inhibit the rendering of such a color trail or may onlydisplay the color trail for a portion (e.g., less than half) of theincorrect tracing indicator being traced.

At block 546, the process determines if the user has traced the correcttracing indicator from the correct starting point, in the correctdirection, to a minimum threshold distance (e.g., to the arrowhead). Ifthe process determines that the user has not traced the correct tracingindicator from the correct starting point, in the correct direction, tothe minimum threshold distance (e.g., to the arrowhead), optionally thecolor trail is removed from the display at state 548 to indicate thatthe user has not correctly performed the task.

At block 550, if the process determines that the user has traced thecorrect tracing indicator from the correct starting point, in thecorrect direction, to the minimum threshold distance, the processmaintains the color trail to indicate that the user has correctly tracedthe symbol segment. At block 552, the process determines if there areadditional tracing indicators remaining to be traced, and if so, theprocess returns to block 544. The foregoing states are repeated untilthe user correctly traces the trace indicators to thereby correctlywrite/draw the symbol.

The foregoing symbol drawing process may then repeated. However, thetracing indicators may be omitted to present the symbol in a moreabstract manner and without arrows to aid the user. At block 554, theprocess displays the symbol (e.g., as an outline) without tracingindicators and without the symbol mnemonic graphic. At block 556, theprocess monitors the user interaction with the touch display (and thedisplayed symbol) to determine if the user has touched the displayedsymbol at a correct starting point. For example, the process mayindicate the correct starting point (e.g., an end of a symbol segment tobe traced first) using a blinking dot, other icon, or otherwise. As theprocess detects the user moving the finger from the correct startingpoint down the symbol segment, the process may optionally cause acorresponding color trail to be rendered. Optionally, if the processdetects the user is moving the finger from an incorrect starting point,the process may inhibit the rendering of such a color trail or may onlydisplay the color trail for a portion (e.g., less than half) of theincorrect segment being traced.

At block 558, the process determines if the user has traced the correctsymbol segment from the correct starting point, in the correctdirection, to a minimum threshold distance (e.g., to the bottom of thecorrect symbol segment). If the process determines that the user has nottraced the correct tracing indicator from the correct starting point, inthe correct direction, to the minimum threshold distance (e.g., to theend of the symbol segment), optionally the color trail is removed fromthe display at state 560 to indicate that the user has not correctlyperformed the task.

At block 562, if the process determines that the user has traced thecorrect symbol segment from the correct starting point, in the correctdirection, to the minimum threshold distance, the process maintains thecolor trail to indicate that the user has correctly traced the symbolsegment. At block 564, the process determines if there are additionalsymbol segment remaining to be traced, and if so, the process returns toblock 556. The foregoing states are repeated until the user correctlytraces the symbol segments to thereby correctly write/draw the symbol.

A symbol reinforcement sub-process may optionally be performed relatingto distinguishing between different versions of a symbol. At block 570multiple versions of the symbol may be displayed (e.g., an uppercase “A”and a lowercase “a”). Underneath a given symbol version a correspondingtarget (e.g., a geometric shape, such as a circle) may be displayed.Underneath a given target a symbol mnemonic graphic may be displayed.For example, an alligator head (corresponding to the uppercase “A”) andan apple (corresponding to the lowercase “a”) may be displayed. Thesymbol mnemonic graphic may be displayed underneath the target for thecorresponding symbol version, or the symbol mnemonic graphic may bedisplayed underneath the target for the non-corresponding symbolversion. For example, the alligator head may be displayed underneath thetarget for the lowercase “a” and the apple may be displayed underneaththe target for the uppercase “A”.

At block 572, the process the user interaction with the touch display(and a displayed symbol mnemonic graphic) is monitored to determine ifthe user has touched/selected a displayed symbol mnemonic graphic with afinger. A block 574 a determination is made as to whether the user hasdragged the mnemonic symbol over the target area corresponding to thematching symbol version. If the process determines that the user hasdragged the mnemonic symbol over the target area corresponding to thematching symbol version (e.g., so that the center of the mnemonic symbolis within a threshold distance of the target center), the process snapsthe symbol mnemonic graphic to the target area and optionally generatesan audible confirmation sound via the touch device speaker. At block578, a determination is made as to whether there are additional symbolmnemonic graphics remaining that need to be dragged to correspondingtargets. If a determination is made that there are additional symbolmnemonic graphics remaining that need to be dragged to correspondingtargets, the process proceeds back to block 572.

If a determination is made that there are no additional symbol mnemonicgraphics remaining that need to be dragged to corresponding targets, theprocess proceeds back to block 580, where a keyboard sub-process of theprocess is performed. At block 580, the process displays an electronickeyboard and generates a sound corresponding to the symbol (e.g., “aah”for “a”). The keyboard keys may be blank, except for that of the keycorresponding to the symbol being taught (e.g., “a”) and a keycorresponding to one other symbol (although optionally more keys maydisplay additional symbols). At block 582, the process monitors thetouch display for a user input. At block 584, the process determinesthat the user has touched a keyboard key and further determines whetherthe user has selected the keyboard key corresponding to the symbol beingtaught (e.g., “a”).

If a determination is that the user touched an incorrect symbol letterkey, optionally the process proceeds to block 586, displays thecorresponding symbol in the symbol field in a greyed out fashion (orother indicator may be provided indicating the incorrect key selection),and provides a visual failure feedback indicator (e.g., an “X”) and/oraudible failure indicator.

If the process determines that the user has touched the correct key, theprocess proceeds to block 588, and optionally causes the symbol to bedisplayed in a symbol field and provides a visual confirmation feedbackindicator (e.g., a checkmark and/or electronic card with the symbol)and/or an audible confirmation indicator. In addition, an electroniccard may be displayed that includes the letter. The process thenoptionally proceeds to block us.

At block 590, the process displays a user interface that displays thesymbol (e.g., “a”), a target field, and a plurality of sound controls(e.g., speaker icons of different colors). Activation of a given soundcontrol causes the touch device to emit a sound, one of whichcorresponds to the symbol. At block 592, the process monitors the touchdisplay for a user input. At block 592, the process determines that theuser has touched a sound control and dragged the sound control to asound control field. At block 594, the process determines whether thesound control that the user dragged to the sound control field. At leastpartly in response to detecting that the user has dragged the correctedsound control to the target field, at block 596, the process provides avisual confirmation feedback indicator (e.g., a checkmark) and/or anaudible confirmation indicator.

The process may also enable drawings and/or user inputs from the user tobe aggregated and stored as a file (e.g., a gallery file). Access to thefile may be provided to one or more other users (e.g., a trainer, aparent, etc.). In addition, each success and/or failure of a user toperform a task may be reported via a user interface to one or more otherusers. Optionally, one or more scores may be generated based on a user'sperformance and the score may be provided to one or more other users.Thus, another person, such as a parent may be provided access, via theapp installed on a device of the person or a via webpage accessed from awebsite that receives uploads from the user device, may access and viewthe user's performance and drawings.

Thus, described herein, among other features, are example touch devicesand methods for detecting and tracking finger and other gestures using atouch device.

The methods and processes described herein may have fewer or additionalsteps or states and the steps or states may be performed in a differentorder. Not all steps or states need to be reached. The methods andprocesses described herein may be embodied in, and fully or partiallyautomated via, software code modules executed by one or more generalpurpose computers. The code modules may be stored in any type ofcomputer-readable medium or other computer storage device. Some or allof the methods may alternatively be embodied in whole or in part inspecialized computer hardware. The systems described herein mayoptionally include displays, user input devices (e.g., touchscreen,keyboard, mouse, voice recognition, etc.), network interfaces, etc.

The results of the disclosed methods may be stored in any type ofcomputer data repository, such as relational databases and flat filesystems that use volatile and/or non-volatile memory (e.g., magneticdisk storage, optical storage, EEPROM and/or solid state RAM).

The various illustrative logical blocks, modules, routines, andalgorithm steps described in connection with the embodiments disclosedherein can be implemented as electronic hardware, computer software, orcombinations of both. To clearly illustrate this interchangeability ofhardware and software, various illustrative components, blocks, modules,and steps have been described above generally in terms of theirfunctionality. Whether such functionality is implemented as hardware orsoftware depends upon the particular application and design constraintsimposed on the overall system. The described functionality can beimplemented in varying ways for each particular application, but suchimplementation decisions should not be interpreted as causing adeparture from the scope of the disclosure.

Moreover, the various illustrative logical blocks and modules describedin connection with the embodiments disclosed herein can be implementedor performed by a machine, such as a general purpose processor device, adigital signal processor (DSP), an application specific integratedcircuit (ASIC), a field programmable gate array (FPGA) or otherprogrammable logic device, discrete gate or transistor logic, discretehardware components, or any combination thereof designed to perform thefunctions described herein. A general purpose processor device can be amicroprocessor, but in the alternative, the processor device can be acontroller, microcontroller, or state machine, combinations of the same,or the like. A processor device can include electrical circuitryconfigured to process computer-executable instructions. In anotherembodiment, a processor device includes an FPGA or other programmabledevice that performs logic operations without processingcomputer-executable instructions. A processor device can also beimplemented as a combination of computing devices, e.g., a combinationof a DSP and a microprocessor, a plurality of microprocessors, one ormore microprocessors in conjunction with a DSP core, or any other suchconfiguration. Although described herein primarily with respect todigital technology, a processor device may also include primarily analogcomponents. A computing environment can include any type of computersystem, including, but not limited to, a computer system based on amicroprocessor, a mainframe computer, a digital signal processor, aportable computing device, a device controller, or a computationalengine within an appliance, to name a few.

The elements of a method, process, routine, or algorithm described inconnection with the embodiments disclosed herein can be embodieddirectly in hardware, in a software module executed by a processordevice, or in a combination of the two. A software module can reside inRAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory,registers, hard disk, a removable disk, a CD-ROM, or any other form of anon-transitory computer-readable storage medium. An exemplary storagemedium can be coupled to the processor device such that the processordevice can read information from, and write information to, the storagemedium. In the alternative, the storage medium can be integral to theprocessor device. The processor device and the storage medium can residein an ASIC. The ASIC can reside in a user terminal. In the alternative,the processor device and the storage medium can reside as discretecomponents in a user terminal.

Conditional language used herein, such as, among others, “can,” “may,”“might,” “may,” “e.g.,” and the like, unless specifically statedotherwise, or otherwise understood within the context as used, isgenerally intended to convey that certain embodiments include, whileother embodiments do not include, certain features, elements and/orsteps. Thus, such conditional language is not generally intended toimply that features, elements and/or steps are in any way required forone or more embodiments or that one or more embodiments necessarilyinclude logic for deciding, with or without other input or prompting,whether these features, elements and/or steps are included or are to beperformed in any particular embodiment. The terms “comprising,”“including,” “having,” and the like are synonymous and are usedinclusively, in an open-ended fashion, and do not exclude additionalelements, features, acts, operations, and so forth. Also, the term “or”is used in its inclusive sense (and not in its exclusive sense) so thatwhen used, for example, to connect a list of elements, the term “or”means one, some, or all of the elements in the list.

Disjunctive language such as the phrase “at least one of X, Y, Z,”unless specifically stated otherwise, is otherwise understood with thecontext as used in general to present that an item, term, etc., may beeither X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z).Thus, such disjunctive language is not generally intended to, and shouldnot, imply that certain embodiments require at least one of X, at leastone of Y, or at least one of Z to each be present.

While the phrase “click” may be used with respect to a user selecting acontrol, menu selection, or the like, other user inputs may be used,such as voice commands, text entry, gestures, etc. User inputs may, byway of example, be provided via an interface, such as via text fields,wherein a user enters text, and/or via a menu selection (e.g., a dropdown menu, a list or other arrangement via which the user can check viaa check box or otherwise make a selection or selections, a group ofindividually selectable icons, etc.). When the user provides an input oractivates a control, a corresponding computing system may perform thecorresponding operation. Some or all of the data, inputs andinstructions provided by a user may optionally be stored in a systemdata store (e.g., a database), from which the system may access andretrieve such data, inputs, and instructions. The notifications and userinterfaces described herein may be provided via a Web page, a dedicatedor non-dedicated phone application, computer application, a shortmessaging service message (e.g., SMS, MMS, etc.), instant messaging,email, push notification, audibly, and/or otherwise.

The user terminals described herein may be in the form of a mobilecommunication device (e.g., a cell phone), laptop, tablet computer,interactive television, game console, media streaming device,head-wearable display, networked watch, etc. The user terminals mayoptionally include displays, user input devices (e.g., touchscreen,keyboard, mouse, voice recognition, etc.), network interfaces, etc.

While the above detailed description has shown, described, and pointedout novel features as applied to various embodiments, it can beunderstood that various omissions, substitutions, and changes in theform and details of the devices or algorithms illustrated can be madewithout departing from the spirit of the disclosure. As can berecognized, certain embodiments described herein can be embodied withina form that does not provide all of the features and benefits set forthherein, as some features can be used or practiced separately fromothers. The scope of certain embodiments disclosed herein is indicatedby the appended claims rather than by the foregoing description. Allchanges which come within the meaning and range of equivalency of theclaims are to be embraced within their scope.

What is claimed is:
 1. A portable electronic device having a touch userinterface, the portable electronic device comprising: a touch displayconfigured to sense contact with a finger or stylus and to displayvisual content; a speaker; a processing system comprising at least onecomputing device, the processing system configured to communicate withthe touch display and the speaker; and non-transitory memory that storesinstructions that when executed by the processing system cause theportable electronic device to perform operations comprising: display afirst iteration of a first symbol, wherein the first iteration of thefirst symbol is displayed without trace indicator line segments;generate a sound corresponding to the first symbol using the speaker;display a second iteration of the first symbol using a set of traceindicator line segments comprising a trace direction indicator and atrace termination indicator; highlight an end region of a first of thetrace indicator line segments; detect user touch input at a plurality oflocations on the touch display; based at least in part on the detecteduser touch input at the plurality of locations, determine whether theuser has traced the first trace indicator line segment from thehighlighted end region to the termination indicator in a directioncorresponding to the trace direction indicator; draw and maintain acolor line corresponding to the detected user touch input at theplurality of locations at least partly in response to a determinationthat the user has traced the first trace indicator line segment from thehighlighted end region to the termination indicator in a directioncorresponding to the trace direction indicator.
 2. The portableelectronic device having a touch user interface, as defined in claim 1,wherein the determination as to whether the user has traced the firsttrace indicator line segment from the highlighted end region to thetermination indicator in a direction corresponding to the tracedirection indicator comprises: a comparison of a vector corresponding tothe detected user touch input at the plurality of locations to areference vector.
 3. The portable electronic device having a touch userinterface, as defined in claim 1, the portable electronic device furthercomprising: an accelerometer, a 3-axis gyroscope, a temperature sensor,and a camera a speaker.
 4. The portable electronic device having a touchuser interface, as defined in claim 1, wherein the operations furthercomprise: display a third iteration of the first symbol using the set oftrace indicator line segments comprising the trace direction indicatorand the trace termination indicator, wherein the first symbol overlays asymbol mnemonic graphic having a shape corresponding to that of thefirst symbol; highlight an end region of the first of the traceindicator line segments of the third iteration of the first symbol whilethe third iteration of the first symbol overlays the symbol mnemonicgraphic; detect user touch input at two or more locations on the touchdisplay while the third iteration of the first symbol overlays thesymbol mnemonic graphic; based at least in part on the detected usertouch input at the two or more locations while the third iteration ofthe first symbol overlays the symbol mnemonic graphic, determine whetherthe user has traced the first trace indicator line segment of the thirditeration of the first symbol from the highlighted end region to thetermination indicator in a direction corresponding to the tracedirection indicator; maintain a color line corresponding to the detecteduser touch input at the two or more locations while the third iterationof the first symbol overlays the symbol mnemonic graphic at least partlyin response to a determination that the user has traced the first traceindicator line segment from the highlighted end region to thetermination indicator in a direction corresponding to the tracedirection indicator.
 5. The portable electronic device having a touchuser interface, as defined in claim 1, wherein the operations furthercomprise: display a fourth iteration of the first symbol using a set ofsegments, wherein display of a given segment in the set of segments doesnot include display of the trace direction indicators; highlight a firstend of the first of the segments of the fourth iteration of the firstsymbol; detect user touch input at two or more locations on the touchdisplay while the fourth iteration of the first symbol is displayedusing the set of segments; based at least in part on the detected usertouch input at the two or more locations while the fourth iteration ofthe first symbol is displayed using the set of segments, determinewhether the user has traced the first segment from the highlighted firstend to a termination location in the direction corresponding to thetrace direction indicator of the second iteration of the first symbol;maintain a color line corresponding to the detected user touch input atthe two or more locations while the fourth iteration of the first symbolis displayed using the set of segments at least partly in response to adetermination that the user has traced the first segment from thehighlighted end to the termination area in the direction correspondingto the trace direction indicator.
 6. The portable electronic devicehaving a touch user interface, as defined in claim 1, wherein theoperations further comprise: provide a symbol selection user interfacecomprising a plurality of symbols via the touch display; receive a usersymbol selection via the touch display; display via the touch displaythe selected symbol in conjunction with a symbol mnemonic graphic;monitor user interaction with the touch display at least while theselected symbol is displayed in conjunction with the symbol mnemonicgraphic; determined whether the user has dragged the symbol mnemonicgraphic to overlay the selected symbol at least a first thresholdamount; at least partly in response to a determination that the user hasdragged the symbol mnemonic graphic to overlay the selected symbol atleast a first threshold amount, generate a sound, using the speaker,corresponding to a sound associated with the symbol.
 7. The portableelectronic device having a touch user interface, as defined in claim 1,wherein the operations further comprise: provide a symbol selection userinterface; receive a user symbol selection via the touch display;display via the touch display the selected symbol in conjunction with asymbol mnemonic graphic; display via the touch display the symbolmnemonic graphic as a plurality of displaced components; display via thetouch display an outline corresponding to the symbol mnemonic graphic;monitor interaction of a user touch input with the symbol mnemonicgraphic components; determine whether the user has moved, via a usertouch input, each of the symbol mnemonic graphic components into theassembled outline corresponding to the symbol mnemonic graphic to forman assembled symbol mnemonic graphic; at least partly in response to adetermination that the user has moved, via a user a touch input, each ofthe symbol mnemonic graphic components into the assembled outlinecorresponding to the symbol mnemonic graphic to form an assembled symbolmnemonic graphic, enable the user to move, via a touch input, the symbolover the assembled symbol mnemonic graphic; determine whether the userhas moved the symbol to over lay the assembled symbol mnemonic graphic;at least partly in response to a determination that the user has movedthe symbol to over lay the assembled symbol mnemonic graphic, play asound file that includes a sound that corresponds to the symbol and aword that corresponds to the symbol mnemonic graphic.
 8. The portableelectronic device having a touch user interface, as defined in claim 1,wherein the operations further comprise: display via the touch display afirst version of the first symbol; display via the touch display asecond version of the first symbol; display a first target inassociation with the first version of the first symbol; display a secondtarget in association with the second version of the first symbol;display a first symbol mnemonic graphic whose shape corresponds to thefirst version of the first symbol; display a second symbol mnemonicgraphic whose shape corresponds to the second version of the firstsymbol; determine if the user has moved, via touch input, the firstsymbol to overlay the first target; determine if the user has moved, viatouch input, the second symbol to overlay the second target; at leastpartly in response to a determination that the user has moved, via touchinput, the first symbol to overlay the first target and the secondsymbol to overlay the second target, generate a confirmation sound. 9.The portable electronic device having a touch user interface, as definedin claim 1, wherein the operations further comprise: display a keyboardvia the touch display, including a first key that displays the firstsymbol, a second key the displays a second symbol, and a plurality ofkeyboard keys that do not display symbols; determine if the user hastouched the first key; at least partly in response to detecting that theuser has touched the first key, display the first symbol in a symbolfield and generate a sound corresponding to the first symbol.
 10. Amethod for processing touch inputs received via a touch device, themethod comprising: displaying via a touch display of the touch device afirst iteration of a first symbol, wherein the first iteration of thefirst symbol is displayed without trace indicator line segments;generating a sound corresponding to the first symbol; displaying via thetouch display of the touch device a second iteration of the first symbolusing a set of trace indicator line segments comprising a tracedirection indicator and a trace termination indicator; highlighting viathe touch display of the touch device a first region of a first of thetrace indicator line segments; detecting user touch input at a pluralityof locations on the touch display; based at least in part on thedetected user touch input at the plurality of locations, determiningwhether the user has traced the first trace indicator line segment fromthe highlighted region to the termination indicator in a directioncorresponding to the trace direction indicator; and drawing andmaintaining a color line corresponding to the detected user touch inputat the plurality of locations at least partly in response to adetermination that the user has traced the first trace indicator linesegment from the highlighted first region to the termination indicatorin a direction corresponding to the trace direction indicator.
 11. Themethod as defined in claim 10, wherein determining whether the user hastraced the first trace indicator line segment from the highlighted firstregion to the termination indicator in a direction corresponding to thetrace direction indicator comprises: a comparison of a vectorcorresponding to the detected user touch input at the plurality oflocations to a reference vector.
 12. The method as defined in claim 10,the method further comprising: displaying a third iteration of the firstsymbol using the set of trace indicator line segments comprising thetrace direction indicator and the trace termination indicator, whereinthe first symbol overlays a symbol mnemonic graphic having a shapecorresponding to that of the first symbol; highlighting a region of thefirst of the trace indicator line segments of the third iteration of thefirst symbol while the third iteration of the first symbol overlays thesymbol mnemonic graphic; detecting user touch input at two or morelocations on the touch display while the third iteration of the firstsymbol overlays the symbol mnemonic graphic; based at least in part onthe detected user touch input at the two or more locations while thethird iteration of the first symbol overlays the symbol mnemonicgraphic, determining whether the user has traced the first traceindicator line segment of the third iteration of the first symbol fromthe highlighted region to the termination indicator in a directioncorresponding to the trace direction indicator; maintaining a color linecorresponding to the detected user touch input at the two or morelocations while the third iteration of the first symbol overlays thesymbol mnemonic graphic at least partly in response to a determinationthat the user has traced the first trace indicator line segment from thehighlighted region to the termination indicator in a directioncorresponding to the trace direction indicator.
 13. The method asdefined in claim 10, the method further comprising: displaying a fourthiteration of the first symbol using a set of segments, wherein displayof a given segment in the set of segments does not include display ofthe trace direction indicators; highlighting a region of the first ofthe segments of the fourth iteration of the first symbol; detecting usertouch input at two or more locations on the touch display while thefourth iteration of the first symbol is displayed using the set ofsegments; based at least in part on the detected user touch input at thetwo or more locations while the fourth iteration of the first symbol isdisplayed using the set of segments, determine whether the user hastraced the first segment from the highlighted region to a terminationlocation in the direction corresponding to the trace direction indicatorof the second iteration of the first symbol; maintaining a color linecorresponding to the detected user touch input at the two or morelocations while the fourth iteration of the first symbol is displayedusing the set of segments at least partly in response to a determinationthat the user has traced the first segment from the highlighted regionto the termination area in the direction corresponding to the tracedirection indicator.
 14. The method as defined in claim 10, the methodfurther comprising: providing a symbol selection user interfacecomprising a plurality of symbols via the touch display; receiving auser symbol selection via the touch display; displaying via the touchdisplay the selected symbol in conjunction with a symbol mnemonicgraphic; monitoring user interaction with the touch display at leastwhile the selected symbol is displayed in conjunction with the symbolmnemonic graphic; determining whether the user has dragged the symbolmnemonic graphic to overlay the selected symbol at least a firstthreshold amount; at least partly in response to a determination thatthe user has dragged the symbol mnemonic graphic to overlay the selectedsymbol at least a first threshold amount, generating a soundcorresponding to a sound associated with the symbol.
 15. The method asdefined in claim 10, the method further comprising: providing a symbolselection user interface; receiving a user symbol selection via thetouch display; displaying via the touch display the selected symbol inconjunction with a symbol mnemonic graphic; displaying via the touchdisplay the symbol mnemonic graphic as a plurality of displacedcomponents; displaying via the touch display an outline corresponding tothe symbol mnemonic graphic; monitoring interaction of a user touchinput with the symbol mnemonic graphic components; determining whetherthe user has moved, via a user touch input, each of the symbol mnemonicgraphic components into the assembled outline corresponding to thesymbol mnemonic graphic to form an assembled symbol mnemonic graphic; atleast partly in response to a determination that the user has moved, viaa user a touch input, each of the symbol mnemonic graphic componentsinto the assembled outline corresponding to the symbol mnemonic graphicto form an assembled symbol mnemonic graphic, enabling the user to move,via a touch input, the symbol over the assembled symbol mnemonicgraphic; determining whether the user has moved the symbol to over laythe assembled symbol mnemonic graphic; at least partly in response todetermining that the user has moved the symbol to over lay the assembledsymbol mnemonic graphic, play a sound file that includes a sound thatcorresponds to the symbol and a word that corresponds to the symbolmnemonic graphic.
 16. The method as defined in claim 10, the methodfurther comprising: displaying via the touch display a first version ofthe first symbol; displaying via the touch display a second version ofthe first symbol; displaying a first target in association with thefirst version of the first symbol; displaying a second target inassociation with the second version of the first symbol; displaying afirst symbol mnemonic graphic whose shape corresponds to the firstversion of the first symbol; displaying a second symbol mnemonic graphicwhose shape corresponds to the second version of the first symbol;determining if the user has moved, via touch input, the first symbol tooverlay the first target; determining if the user has moved, via touchinput, the second symbol to overlay the second target; at least partlyin response to determining that the user has moved, via touch input, thefirst symbol to overlay the first target and the second symbol tooverlay the second target, generating a confirmation sound.
 17. Themethod as defined in claim 10, the method further comprising: displayinga keyboard via the touch display, including a first key that displaysthe first symbol, a second key the displays a second symbol, and aplurality of keyboard keys that do not display symbols; determining ifthe user has touched the first key; at least partly in response todetecting that the user has touched the first key, displaying the firstsymbol in a symbol field and generate a sound corresponding to the firstsymbol.
 18. Non-transitory memory that stores instructions that whenexecuted by a computing system cause the computing to perform operationscomprising: display a first iteration of a first symbol, wherein thefirst iteration of the first symbol is displayed without trace indicatorline segments; generate a sound corresponding to the first symbol;display a second iteration of the first symbol using a set of traceindicator line segments comprising a trace direction indicator and atrace termination indicator; highlight an first region of a first of thetrace indicator line segments; detect user touch input at a plurality oflocations on the touch display; based at least in part on the detecteduser touch input at the plurality of locations, determine whether theuser has traced the first trace indicator line segment from thehighlighted first region to the termination indicator in a directioncorresponding to the trace direction indicator; and draw and maintain acolor line corresponding to the detected user touch input at theplurality of locations at least partly in response to a determinationthat the user has traced the first trace indicator line segment from thehighlighted first region to the termination indicator in a directioncorresponding to the trace direction indicator.
 19. The non-transitorymemory as defined in claim 18, wherein the determination as to whetherthe user has traced the first trace indicator line segment from thehighlighted first region to the termination indicator in a directioncorresponding to the trace direction indicator comprises: a comparisonof a vector corresponding to the detected user touch input at theplurality of locations to a reference vector.
 20. The non-transitorymemory as defined in claim 18, wherein the instructions are furtherconfigured to cause the computing to perform operations comprising:display a third iteration of the first symbol using the set of traceindicator line segments comprising the trace direction indicator and thetrace termination indicator, wherein the first symbol overlays a symbolmnemonic graphic having a shape corresponding to that of the firstsymbol; highlight a region of the first of the trace indicator linesegmentstrace indicator line segments of the third iteration of thefirst symbol while the third iteration of the first symbol overlays thesymbol mnemonic graphic; detect user touch input at two or morelocations on the touch display while the third iteration of the firstsymbol overlays the symbol mnemonic graphic; based at least in part onthe detected user touch input at the two or more locations while thethird iteration of the first symbol overlays the symbol mnemonicgraphic, determine whether the user has traced the first trace indicatorline segment of the third iteration of the first symbol from thehighlighted region to the termination indicator in a directioncorresponding to the trace direction indicator; maintain a color linecorresponding to the detected user touch input at the two or morelocations while the third iteration of the first symbol overlays thesymbol mnemonic graphic at least partly in response to a determinationthat the user has traced the first trace indicator line segment from thehighlighted region to the termination indicator in a directioncorresponding to the trace direction indicator.
 21. The non-transitorymemory as defined in claim 18, wherein the instructions are furtherconfigured to cause the computing to perform operations comprising:display a fourth iteration of the first symbol using a set of segments,wherein display of a given segment in the set of segments does notinclude display of the trace direction indicators; highlight a region ofthe first of the segments of the fourth iteration of the first symbol;detect user touch input at two or more locations on the touch displaywhile the fourth iteration of the first symbol is displayed using theset of segments; based at least in part on the detected user touch inputat the two or more locations while the fourth iteration of the firstsymbol is displayed using the set of segments, determine whether theuser has traced the first segment from the highlighted region to atermination location in the direction corresponding to the tracedirection indicator of the second iteration of the first symbol;maintain a color line corresponding to the detected user touch input atthe two or more locations while the fourth iteration of the first symbolis displayed using the set of segments at least partly in response to adetermination that the user has traced the first segment from thehighlighted region to the termination area in the directioncorresponding to the trace direction indicator.
 22. The non-transitorymemory as defined in claim 18, wherein the instructions are furtherconfigured to cause the computing to perform operations comprising:provide a symbol selection user interface comprising a plurality ofsymbols via the touch display; receive a user symbol selection via thetouch display; display via the touch display the selected symbol inconjunction with a symbol mnemonic graphic; monitor user interactionwith the touch display at least while the selected symbol is displayedin conjunction with the symbol mnemonic graphic; determined whether theuser has dragged the symbol mnemonic graphic to overlay the selectedsymbol at least a first threshold amount; at least partly in response toa determination that the user has dragged the symbol mnemonic graphic tooverlay the selected symbol at least a first threshold amount, generatea sound corresponding to a sound associated with the symbol.
 23. Thenon-transitory memory as defined in claim 18, wherein the instructionsare further configured to cause the computing to perform operationscomprising: provide a symbol selection user interface; receive a usersymbol selection via the touch display; display via the touch displaythe selected symbol in conjunction with a symbol mnemonic graphic;display via the touch display the symbol mnemonic graphic as a pluralityof displaced components; display via the touch display an outlinecorresponding to the symbol mnemonic graphic; monitor interaction of auser touch input with the symbol mnemonic graphic components; determinewhether the user has moved, via a user touch input, each of the symbolmnemonic graphic components into the assembled outline corresponding tothe symbol mnemonic graphic to form an assembled symbol mnemonicgraphic; at least partly in response to a determination that the userhas moved, via a user a touch input, each of the symbol mnemonic graphiccomponents into the assembled outline corresponding to the symbolmnemonic graphic to form an assembled symbol mnemonic graphic, enablethe user to move, via a touch input, the symbol over the assembledsymbol mnemonic graphic; determine whether the user has moved the symbolto over lay the assembled symbol mnemonic graphic; at least partly inresponse to a determination that the user has moved the symbol to overlay the assembled symbol mnemonic graphic, play a sound file thatincludes a sound that corresponds to the symbol and a word thatcorresponds to the symbol mnemonic graphic.
 24. The non-transitorymemory as defined in claim 18, wherein the instructions are furtherconfigured to cause the computing to perform operations comprising:display via the touch display a first version of the first symbol;display via the touch display a second version of the first symbol;display a first target in association with the first version of thefirst symbol; display a second target in association with the secondversion of the first symbol; display a first symbol mnemonic graphicwhose shape corresponds to the first version of the first symbol;display a second symbol mnemonic graphic whose shape corresponds to thesecond version of the first symbol; determine if the user has moved, viatouch input, the first symbol to overlay the first target; determine ifthe user has moved, via touch input, the second symbol to overlay thesecond target; at least partly in response to a determination that theuser has moved, via touch input, the first symbol to overlay the firsttarget and the second symbol to overlay the second target, generate aconfirmation sound.
 25. The non-transitory memory as defined in claim18, wherein the instructions are further configured to cause thecomputing to perform operations comprising: display a keyboard via thetouch display, including a first key that displays the first symbol, asecond key the displays a second symbol, and a plurality of keyboardkeys that do not display symbols; determine if the user has touched thefirst key; at least partly in response to detecting that the user hastouched the first key, display the first symbol in a symbol field andgenerate a sound corresponding to the first symbol.